unit untListagemCliente;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, untListagemPadrao, DB, Grids, DBGrids, StdCtrls, Buttons,
  ExtCtrls, FMTBcd, SqlExpr;

type
  TfrmListagemCliente = class(TfrmListagemPadrao)
    procedure FormShow(Sender: TObject);
    procedure btnInserirClick(Sender: TObject);
    procedure edtpesquisarChange(Sender: TObject);
    procedure btnAlterarClick(Sender: TObject);
    procedure btnExcluirClick(Sender: TObject);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure grdlistagemDrawColumnCell(Sender: TObject; const Rect: TRect;
      DataCol: Integer; Column: TColumn; State: TGridDrawState);
    procedure grdlistagemTitleClick(Column: TColumn);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  frmListagemCliente: TfrmListagemCliente;

implementation

uses untDM, untFuncao, untCadastroCliente;

{$R *.dfm}



procedure TfrmListagemCliente.FormShow(Sender: TObject);
begin
  inherited;
  dm.cdsCliente.Open;
end;

procedure TfrmListagemCliente.btnInserirClick(Sender: TObject);
begin
  inherited;
  frmCadastroCliente := TfrmCadastroCliente.Create(Application);
  frmCadastroCliente.Tag := 1;
  frmCadastroCliente.ShowModal;
end;

procedure TfrmListagemCliente.btnAlterarClick(Sender: TObject);
begin
  inherited;
  frmCadastroCliente := TfrmCadastroCliente.Create(Application);
  frmCadastroCliente.Tag := 2;
  frmCadastroCliente.ShowModal;
end;

procedure TfrmListagemCliente.edtpesquisarChange(Sender: TObject);
begin
  inherited;
  DM.cdsCliente.Locate('cli_nome',edtpesquisar.Text, [loCaseInsensitive,loPartialKey]);
end;
procedure TfrmListagemCliente.btnExcluirClick(Sender: TObject);
begin
  inherited;
  if MessageDlg('Deseja mesmo excluir este Cliente?', mtConfirmation,[mbYes,mbNo],0) = mrYes then
  begin
    sdsComando.CommandText := 'delete from clientes where cli_codigo = :codigo';
    sdsComando.ParamByName('codigo').AsInteger := DM.cdsCliente.FieldByName('cli_codigo').AsInteger;
    sdsComando.ExecSQL();
    dm.cdsCliente.Close;
    dm.cdsCliente.Open;
  end;
end;

procedure TfrmListagemCliente.FormClose(Sender: TObject;
  var Action: TCloseAction);
begin
  inherited;
  dm.cdsCliente.Close;
end;

procedure TfrmListagemCliente.grdlistagemDrawColumnCell(Sender: TObject;
  const Rect: TRect; DataCol: Integer; Column: TColumn;
  State: TGridDrawState);
begin
  inherited;
  if Odd(dm.cdsCliente.RecNo) then
  begin
    grdlistagem.Canvas.Font.Color := clWhite;
    grdlistagem.Canvas.Brush.Color := clSkyBlue;
  end
  else
  begin
    grdlistagem.Canvas.Font.Color := clBlack;
    grdlistagem.Canvas.Brush.Color := clWhite;
  end;
  grdlistagem.Canvas.FillRect(Rect);
  grdlistagem.Canvas.TextOut(Rect.Left+2,Rect.Top,Column.Field.AsString);
end;

procedure TfrmListagemCliente.grdlistagemTitleClick(Column: TColumn);
begin
  inherited;
  dm.cdsCliente.IndexFieldNames := Column.FieldName;
end;

end.
